約 3,751,649 件
https://w.atwiki.jp/shells/pages/30.html
CGI 読み方 : シージーアイ フルスペル : Common Gateway Interface Webサーバが、Webブラウザからの要求に応じて、プログラムを起動するための仕組み。 従来、Webサーバは蓄積してある文書をただ送出するだけであったが、CGIを使うことによって、 プログラムの処理結果に基づいて動的に文書を生成し、送出することができるようになった。 現在ではほとんどのWebサーバソフトがCGIに対応している。 CGIはどのような開発言語でも使用できるが、実際にはPerlなどがよく使われる傾向にある。 CGIに類似した技術にはSSIやASPなどがある。 IT用語辞典 戻る
https://w.atwiki.jp/hitkik/pages/22.html
perlと日本語 http //homepage2.nifty.com/ttoyoshima/Perl/Perl.htm http //hardsoft.at.webry.info/200505/article_5.html http //perl.active-venture.com/pod/perljp.html perl 5.8以降はunicodeで動いているので、標準で漢字OKになった。 Winの場合は以下の宣言。 use encoding "cp932"; $/ = "\r\n"; requireの使い方 http //www.nishishi.com/perltips/script1.html モジュール: #! /usr/bin/perl package samplepackage; sub function1 { print "hogehoge\n"; } 1; packageでモジュール名を宣言 メインルーチン: require sample.cgi ; samplepackage function1(); useとrequireの違い http //tech.bayashi.net/pdmemo/use-require.html use: perl5以上 BEGIN, CHECK, INIT ルーチンが使える。 起動時に全て読み込んでコンパイルする require require文実行時にモジュール読み込み BEGINなど使えない。 連想配列 連想配列解説 http //tech.bayashi.net/pdmemo/variable.html 連想配列の連想配列などが可能。 配列の扱い方 コマンドなど http //santamartadotnet.hp.infoseek.co.jp/documents/perl/learningperl05.html %HOGE 連想配列変数 %HOGE 全体 $HOGE{ page } 連想配列変数 %HOGE の page をキーとする要素 %HOGE = ( key = value ); $HOGE{ key } = value ;と同列 %HOGE = (); %HOGE を空にします。 undef %HOGE; %HOGE を未定義値にします。 $a = scalar keys %HOGE; %HOGE の要素数を求めます。 空のハッシュを作成しておき、後から要素を追加 # 空のハッシュを作成 %numbers = (); # 要素を追加 $numbers{119} = "shoubou"; $numbers{911} = "rescue"; print $numbers{119}, "\n"; print $numbers{911}, "\n"; [実行結果] shoubou rescue keysやvaluesを用いると、ハッシュで使用されているキー、値の一覧を配列として取得 # 列挙 while ( ( $key, $value ) = each( %hash ) ) { print "$key $value\n"; } print "\n"; # キーの配列を取得 @keys = keys( %hash ); print "Keys "; foreach ( @keys ) { print "$_, "; } print "\n"; # 値の配列を取得 @values = values( %hash ); print "Values "; foreach ( @values ) { print "$_, "; } existsはハッシュに指定したキーが存在するかを確かめます。 deleteはキーと値の対をハッシュから削除します。 # 列挙 while ( ( $key, $value ) = each( %hash ) ) { print "$key $value\n"; } print "\n"; # キーが存在するかを確かめる if ( exists( $hash{"tempura"} ) ) { print "\"tempura\" exists in hash.\n"; } # キーと値の対を削除 delete $hash{"tempura"}; print "\"tempura\" was removed.\n"; # 列挙 while ( ( $key, $value ) = each( %hash ) ) { print "$key $value\n"; } # キーが存在するかを確かめる if ( !exists( $hash{"tempura"} ) ) { print "\"tempura\" doesn t exists in hash.\n"; } ハッシュを参照する # each関数による列挙 while ( ( $key, $value ) = each( %hash ) ) { print "$key $value\n"; } print "\n"; # キー配列による列挙 foreach ( keys( %hash ) ) { print "$_ $hash{$_}\n"; } 関数名 解説 delete ハッシュから指定したキーとその値を削除する。delete %HOGE{ key }; each ハッシュからキーとその値を取り出す。($key,$value) = each %HOGE; exists ハッシュに指定したキーが存在すれば真を返す。if(exists $HOGE{ key }){ delete $HOGE{ key }; } keys ハッシュ内の全てのキーを取り出す。@keylist = keys %HOGE; values ハッシュ内の全ての値を取り出す。@valuelist = value %HOGE; 連想配列の連想配列 %HOGE = ( Comic = { 夢の温度 = 南Q太 , バガボンド = 井上雄彦 }); print $HOGE{ Comic }{ バガボンド }; %hoge{ a } = %e; 配列の連想配列 @hoge{ a } = @f; 配列の扱い方 コマンドなど 以下広告
https://w.atwiki.jp/atwikimyj/pages/59.html
emplate-Toolkitでのはまり、TIPSを記録する。 ◆リンク集 <参考> TTdoc 和訳ページ http //www.hakoniwa.net/tt/index.html TT超入門。これで基本がわかった http //www.sea-bird.org/doc/Solaris8/Perl_2.html サンプル http //bob.marlboro.edu/~msie/2001/ipl/perl/code/jan27/TemplateToolkit/ TTで使える関数プチ一覧。なんでもできそうだ。 http //hwat.sakura.ne.jp/hpod/200604/06-140134/ DBマガジンのサンプルプログラム 紙だけど、相当参考になった。 ◆TIPS (1)インストールにきをつけろ perlのサンプルスクリプト上では template というモジュール名になっているので PPMで template と指定してインストール。しかしこれはTTとは別のモジュールなのだ。 本当は template-toolkit でsearchして、この名前でインストールする必要があった、、、。 (2)イテレイト型のオブジェクトをそのままTTにぶんなげる $Sale_prod_list = MAGCLASS ObjectsTable - search( [ $criteria1 , $criteria2 , $criteria3, $criteria4 ],{ order_by = prod_sellrank } ); こんなふうに雑誌情報のオブジェクトを取得して、 my $template = Template- new; my $output; $template- process( teiki_make_index.html ,{ Sale_prod_list = $Sale_prod_list } ,$output); こうする。複数の雑誌情報を持つオブジェクトが teiki_make_index.html に投げられる。 これを受け入れる書式は [% WHILE ( sp = Sale_prod_list.next) -%] [% IF sp.prod_price != %] /価格:[% sp.prod_price %]円 [% END %] [% IF sp.prod_toku != %] /(特典あり) [% END %] [% END %] こんな感じ。まずWHILEでperlから渡されたSale_prod_listを受けるわけだけど 1つ1つ順番に読み込むようにSale_prod_list.nextと記述し、その1つ1つの オブジェクトはsp = Sale_prod_list.nextとすることでspに入る。 sp.prod_noなどとすることでオブジェクト内のハッシュを読み取れる。 注意点: ・WHILEやENDなどの書式は必ず大文字 ・条件式は必ずENDで閉めよう (3)作製されたHTMLについて $template- process( teiki_make_index.html ,{ Sale_prod_list = $Sale_prod_list } ,$output); と記述すると、$outputに作製されたHTMLが入る。 (テンプレート ,{ エイリアス= オブジェクト } , $出力先変数) という書式。注意点として、$outputではだめで、$outputとしなければならない) また、出力先変数を省略して $template- process( teiki_make_index.html ,{ Sale_prod_list = $Sale_prod_list } ); とすると自動的にprintされる。 以下いろんなサイトからのメモ ■HTMLファイルのエスケープ HTMLタグのエスケープしろという命令をテンプレートに記述できます。フィルター機能についてはTemplate Toolkit Manual Filtersに詳しく書いてありますが、例えば、 [% foo | html %]でfooの中身のHTMLタグをエスケープして出力してくれますし、 [% bar | html_line_break %]
https://w.atwiki.jp/atwikimyj/pages/92.html
mod_perl2がめでたく起動し、スクリプトが動作するようになって、 面倒だなと思うのが、httpdのrestart。 スクリプトを直すたびに $ apachectrl restart をしていたが、そんなわけないよな、と思い、調べる。 Apache2 Reload というのを使えばいいらしい。 しかし例外が、、 Catalystとの相性が悪く、使えないらしい。 実際試しても使えない。 対処策を探すと以下のような方法が。 holidays-l開発ブログ [Perl][Catalyst][Apache]CatalystアプリケーションでApache2 Reloadを使えるようにする方法CommentsAdd Star http //d.hatena.ne.jp/holidays-l/20060902/p2 これでもエラーは変わらず。
https://w.atwiki.jp/atwikimyj/pages/22.html
RSSファイルの解析(ついでにダウンロードも) RSSインスタンスの作成(XMLで記述された文字列を読ませて作る) RDF,RSS,ATOM形式でインスタンスを作成 その他いろいろできるみたいです。下記のサイトに親切丁寧に 説明があるのでそれを読むのが一番かと。 XML FeedPP http //www.kawa.net/works/perl/feedpp/feedpp.html#spec
https://w.atwiki.jp/atwikimyj/pages/20.html
CPAN DBIx Class http //search.cpan.org/~mstrout/DBIx-Class/lib/DBI... 日本語ドキュメント⇒なし http //perldoc.jp/docs/modules/ はてなキーワード検索 http //d.hatena.ne.jp/keyword/DBIx%3a%3aClass あった!日本語による解説 http //nekokak.jf.land.to/wiki/wiki.cgi/sub?page=P... <1>win32へのインストール PPM DBIx Class で一気に関連モジュールを含めてインストール完了。 しかし、スクリプトを起動させると Module Findがない! とエラーが出るのでそれは個別に手動でインストール。 オブジェクトのことをschemaと呼ぶようだ (1)DB/MAINというパッケージを作成する ******************************************* package DB Main; use base qw/DBIx Class Schema/; PACKAGE- load_classes(); 1; ******************************************* このパッケージファイルはお約束の内容なのだと思う。
https://w.atwiki.jp/atwikimyj/pages/53.html
(1).qmailファイル作成 (2)実行したいスクリプト(perlスクリプト) を作成し、下記ディレクトリ /var/qmail/mailnames/example.com/user_name/ に.qmailファイル、 /home/httpd/vhosts/example.com/cgi-bin 実行したいスクリプトを入れ、メール受信させると、動作はした。 しかし、qmailファイルのあるディレクトリ /var/qmail/mailnames/example.com/user_name/ にはスクリプトによるファイル作成できるが、 スクリプト内でhttpdocsのディレクトリなどを指定して ファイルを作成させようとしても作成できず。 (とくにmaillogにエラーも出ません) chdirでカレントディレクトリを home/httpd/vhosts/example.com/httpdocs/ に移動させようとしましたが、これもできず。 また、ファイル書き込み時のディレクトリを open(IN," /home/httpd/vhosts/example.com/httpdocs/") と指定しても書き込めず。maillogoではSuccessとなって おり、エラーはありません。 未解決。
https://w.atwiki.jp/atwikimyj/pages/51.html
携帯端末の環境変数の取得もモジュールで可能です。 perlコミュニティはすばらしいです。 HTTP-MobileAgent http //search.cpan.org/~kurihara/HTTP-MobileAgent-0.26/
https://w.atwiki.jp/batorowa-genjo/pages/154.html
side-Fast Fastは「速い」 超高速のsideです。 ゆっくり睡眠がとれますが超高速かつ様々な武器への対応が難しいので難易度はCとします。 優勝時の情報は「理科室の鍵」、「破壊の鉄球」、「グラビティブレード」、「鉄の金庫」、「手提げ鞄」、「幸福の種」、「盗賊のナイフ」、「妖刀村雨」についてですが大した情報ではないのであまり役に立たないでしょう。 忙しくてあまりできない人、待ち時間がめんどうな人にオススメのsideです。 尚、「23 00~20 00」は登録不能。 「0 00~20 00」は移動、バイトができません。 優勝しやすさ ★ ☆ ☆ 人気度 ★ ★ ★ 難易度 ★ ★ ★
https://w.atwiki.jp/perseidcross/pages/12.html
perlコマンド c プログラムの構文チェック d デバッガでスクリプトを実行 e プロンプトからスクリプトを入力 h オプションの一覧を表示 v Perlのバージョンを表示 w 警告を表示 日本語対応にする方法 encodin